package com.caiden_micheal.menu.service;

import com.caiden_micheal.base.domain.AjxResult;
import com.caiden_micheal.base.dto.PageDTO;
import com.caiden_micheal.menu.domain.Icon;
import com.caiden_micheal.menu.domain.Menu;
import com.caiden_micheal.menu.dto.IconAddDTO;
import com.caiden_micheal.menu.dto.IconPageQueryDTO;
import com.caiden_micheal.menu.vo.UpdateIndexVO;
import com.caiden_micheal.permission.domain.Permission;

import java.util.List;

public interface MenuService {
    List<Menu> findEnableMenu(List<String> authorityNameList, Boolean forceRefresh);

    AjxResult updateIndex(UpdateIndexVO data);

    PageDTO iconPageQuery(IconPageQueryDTO iconPageQueryDTO);

    AjxResult addMenu(Menu menu);

    List<Permission> findAllParentMenuPermissionByPermission(Permission permission);

    List<Permission> findAllChildMenuPermissionByPermission(Permission permission);

    AjxResult findAllMenu();

    AjxResult editMenu(Menu menu);

    AjxResult removeMenu(Long id);

    AjxResult addIcon(IconAddDTO iconAddDTO);
}
